package com.qf.day07.modifier.abs;

/**
 * abstract关键字的用法
 *
 * （1） 修饰类。 该类无法创建对象 , 抽象类 ; 一般多用于父类中
 *  (2) 修饰方法。在抽象类中，可以声明抽象方法。
 */
public abstract class Animal {

    private String name;

    private int age;

    /**
     * 抽象方法：
     * 没有方法体，只有方法签名
     *
     */
    public abstract void eat();

    /**
     * 抽象方法
     * 可以有放回值
     * @return
     */
    public abstract int sleep();

    /**
     * 在抽象类中，普通方法可以和抽象方法同时存在，并且可以调用抽象方法
     */
    public void practise(){
        // 吃点
        eat();
        // 睡会
        sleep();
        System.out.println("开始锻炼了");
    }


}
